home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
gifcol40.zip
/
GIFCOLL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-09-11
|
8KB
|
387 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
String STRING001
String STRING002
String STRING003
String STRING004
String TSTRING005(11)
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
;------------------------------------------------------------------------------
STRING001 = "Y"
STRING001 = YesChar()
INTEGER007 = 15
STRING007 = TempPath()
STRING008 = ""
STRING008 = GetEnv("PCBNODE")
If (STRING008 == "") STRING008 = ReadLine(PCBDat(), 91)
STRING009 = STRING008
STRING012 = Random(9999)
If (STRING012 > 9980) Then
STRING012 = 9980
Endif
STRING013 = "FLIST"
If (Exist("FLIST." + STRING008)) Then
STRING013 = "FLIST." + STRING008
Endif
STRING014 = STRING009
If (STRING009 < 100) Then
STRING014 = "0" + STRING008
If (STRING009 < 10) Then
STRING014 = "00" + STRING008
Endif
Endif
Log "GIF Collage processor command entered.", 0
If (TokCount() == 0) Then
PrintLn "@X0C Download path not specified on PPE command line."
Log "Download path not specified on GIFCOLL PPE command line.", 0
PrintLn "@X0F "
PrintLn "GIF Collage Processor Environment error - Inform your SysOp"
More
End
Endif
STRING011 = GetToken()
Cls
PrintLn " "
PrintLn "@X38┌────────────────────────────────────────────────────────────────────────────@X3B┐@X0B"
PrintLn "@X38│@X3E GIF Collage Builder v4.0 <*> Freeware by Earl Bonser @X3B│@X0B"
PrintLn "@X38└@X3B────────────────────────────────────────────────────────────────────────────┘@X0F"
If (Exist("GIFCOLL." + STRING014)) Delete "GIFCOLL." + STRING014
If (Exist(STRING013)) Goto LABEL001
Log "PCBoard control file " + STRING013 + " not found, nothing flagged.", 0
Goto LABEL007
:LABEL001
STRING004 = "FLIST" + STRING014 + ".WRK"
If (Exist(STRING004)) Delete STRING004
FOpen 1, STRING013, 0, 0
FOpen 2, STRING004, 1, 1
:LABEL002
If (Ferr(1)) Goto LABEL003
FRead 1, STRING010, 129
FWrite 2, STRING010, 129
Goto LABEL002
:LABEL003
FClose 1
FClose 2
Shell 1, INTEGER001, PPEPath() + "GIFCOL1.EXE " + STRING014 + STRING008, ""
INTEGER001 = 0
If (Exist("GIFCOLL." + STRING014)) Then
Goto LABEL004
Endif
Log "Unable to read PCBoard control file " + STRING013, 0
Log "Probable installation error.", 0
Log "Be sure that you have SHARE loaded.", 0
Goto LABEL007
:LABEL004
FOpen 1, "GIFCOLL." + STRING014, 0, 0
FGet 1, STRING010
:LABEL005
If (Ferr(1)) Goto LABEL006
INTEGER001 = INTEGER001 + 1
FGet 1, STRING010
Goto LABEL005
:LABEL006
FClose 1
If (INTEGER001 > 1) Then
INTEGER001 = INTEGER001 / 2
Endif
If (INTEGER001 > 0) Then
Goto LABEL008
Endif
:LABEL007
PrintLn " "
PrintLn "@X0EYou have not flagged any @X0CGIF@X0E files for a collage.@X0F"
PrintLn " "
DispFile HelpPath() + "GIF", 1 + 4
End
:LABEL008
If (INTEGER001 > 99) Then
PrintLn "@X0AYou have ", INTEGER001, " GIF's flagged - 99 is the max for this command."
PrintLn "The first 99 of them can be placed in collage files."
InputStr "@X0EDo you wish to continue (@X0CY@X0E/@X0CN@X0E)", STRING001, 14, 1, "", 8192 + 16384
If (Upper(STRING001) == "N") Then
Cls
End
Endif
INTEGER001 = 99
Endif
INTEGER008 = INTEGER001
PrintLn " "
PrintLn "@X0FYou have @X0A", INTEGER008, "@X0F GIF files flagged."
PrintLn " "
INTEGER013 = INTEGER008 / 9 + 1
INTEGER014 = INTEGER008 * 20 + INTEGER013 * 13
INTEGER011 = INTEGER014 / 60
If (INTEGER011 == 0) Then
INTEGER011 = 1
Endif
INTEGER012 = INTEGER011 + 1
If (INTEGER012 < 3) Then
PrintLn "@X0FIt will take 1-2 minutes to build your collage. Please be patient."
PrintLn
Else
If (MinLeft() < INTEGER012) Then
If (INTEGER013 < 10) Then
PrintLn "@X0AYou do not have enough time left to build the collage file."
Goto LABEL009
Endif
PrintLn "@X0AYou do not have enough time left to build the collage files."
:LABEL009
PrintLn "@X0F"
End
Endif
If (INTEGER001 < 10) Then
PrintLn "@X0FIt may take @X0E", INTEGER011, "-", INTEGER012, " minutes@X0F to build the collage file."
Else
PrintLn "@X0FIt may take @X0E", INTEGER011, "-", INTEGER012, " minutes@X0F to build the collage files."
Endif
InputStr "@X0EDo you wish to continue (@X0CY@X0E/@X0CN@X0E)", STRING001, 14, 1, "", 8192 + 16384
If (Upper(STRING001) == "N") Then
Cls
End
Endif
Newline
PrintLn " "
PrintLn "@X0AOK, here we go....."
PrintLn " "
Endif
If (Exist("GIFDEDK.CMD")) Goto LABEL010
Copy PPEPath() + "GIFDESK.CMD", "GIFDESK.CMD"
:LABEL010
For INTEGER002 = 1 To 11
TSTRING005(INTEGER002) = "*"
Next
INTEGER015 = 1
Shell 1, INTEGER002, "ATTRIB -r " + STRING007 + "*.GIF", ""
Shell 1, INTEGER002, "DEL " + STRING007 + "*.GIF", ""
If (Exist("GIFDSK00.GIF")) Delete "GIFDSK00.GIF"
FOpen 1, "GIFCOLL." + STRING014, 0, 0
INTEGER010 = 0
INTEGER003 = GetX()
INTEGER004 = GetY()
:LABEL011
INTEGER009 = 9
If (INTEGER001 < 10) Then
INTEGER009 = INTEGER001
Endif
INTEGER001 = INTEGER001 - INTEGER009
INTEGER010 = INTEGER010 + 1
Print "@X0EPreparing @X0C", INTEGER009, "@X0E files for collage #", INTEGER010, ":@X0A"
INTEGER005 = GetX()
INTEGER006 = GetY()
For INTEGER002 = 1 To INTEGER009
FGet 1, STRING010
STRING002 = STRING010
FGet 1, STRING010
STRING003 = STRING007 + STRING010
AnsiPos INTEGER005, INTEGER006
ClrEol
Print " Frame ", INTEGER002, " is ", STRING010
Copy STRING002, STRING003
Next
AnsiPos INTEGER003, INTEGER004
ClrEol
:LABEL012
STRING012 = STRING012 + 1
STRING003 = STRING012
STRING002 = "C" + STRING009 + STRING003 + ".GIF"
INTEGER002 = 1
While (INTEGER002 < INTEGER015 + 1) Do
If (STRING002 == TSTRING005(INTEGER002)) Then
Goto LABEL012
Endif
INTEGER002 = INTEGER002 + 1
EndWhile
Print "@X0EBuilding GIF collage #", INTEGER010, " (", STRING002, ") - Please stand by....."
PrintLn " "
Shell 1, INTEGER002, PPEPath() + "GIFDESK.EXE " + STRING007 + "*.gif", ""
If (Exist("GIFDSK00.GIF")) Goto LABEL013
PrintLn "@X0AGIFDESK collage build failed - Notify your SysOp."
Log "GIFDESK did not build the collage.", 0
PrintLn " "
PrintLn "@PAUSE@"
End
:LABEL013
AnsiPos INTEGER003, INTEGER004
ClrEol
PrintLn "@X0AGIF collage #", INTEGER010, " (", STRING002, ") is ready and being moved to a download area."
INTEGER003 = GetX()
INTEGER004 = GetY()
TSTRING005(INTEGER015) = STRING002
INTEGER015 = INTEGER015 + 1
STRING003 = STRING011 + "\" + STRING002
STRING002 = "GIFDSK00.GIF"
Copy STRING002, STRING003
Delete "GIFDSK00.GIF"
Shell 1, INTEGER002, "ATTRIB -r " + STRING007 + "*.GIF", ""
Shell 1, INTEGER002, "DEL " + STRING007 + "*.GIF", ""
AnsiPos INTEGER003, INTEGER004
If (INTEGER001 > 0) Then
Goto LABEL011
Endif
FClose 1
Delete "GIFCOLL." + STRING014
STRING006 = TSTRING005(1)
INTEGER015 = 2
While (TSTRING005(INTEGER015) <> "*") Do
STRING006 = STRING006 + ";" + TSTRING005(INTEGER015)
INTEGER015 = INTEGER015 + 1
If (INTEGER015 > 11) Then
Break
Endif
EndWhile
PrintLn " "
If (INTEGER010 > 1) Then
PrintLn "@X0AYour collage files are ready to download."
Else
PrintLn "@X0AYour collage file is ready to download."
Endif
KbdStuff NoChar() + Chr(13)
KbdStuff Chr(13)
Download STRING006
INTEGER015 = 1
While (TSTRING005(INTEGER015) <> "*") Do
Delete STRING011 + "\" + TSTRING005(INTEGER015)
INTEGER015 = INTEGER015 + 1
If (INTEGER015 > 11) Then
Break
Endif
EndWhile
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 7 End
; 3 Cls
; 3 ClrEol
; 1 More
; 51 Goto
; 61 Let
; 3 Print
; 33 PrintLn
; 36 If
; 1 DispFile
; 4 FOpen
; 4 FClose
; 4 FGet
; 6 Delete
; 7 Log
; 2 InputStr
; 1 Newline
; 6 Shell
; 2 KbdStuff
; 4 AnsiPos
; 1 FRead
; 1 FWrite
; 3 Copy
; 1 Download
;
;
; ■ Functions used :
;
; 2 *
; 3 /
; 58 +
; 1 -
; 6 ==
; 2 <>
; 10 <
; 2 <=
; 8 >
; 4 >=
; 29 !
; 4 &&
; 2 ||
; 2 Upper()
; 2 Ferr()
; 2 Chr()
; 1 Random()
; 1 NoChar()
; 1 YesChar()
; 1 PCBDat()
; 3 PPEPath()
; 1 ReadLine()
; 1 GetToken()
; 1 MinLeft()
; 1 GetEnv()
; 8 Exist()
; 3 GetX()
; 3 GetY()
; 1 HelpPath()
; 1 TempPath()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Sd
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 3 While/EndWhile
; 22 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------